/*
 * @Author: 詹真琦(legendryztachi@gmail.com)
 * @Date: 2021-10-19 15:07:41
 * @LastEditors: 詹真琦(legendryztachi@gmail.com)
 * @LastEditTime: 2022-01-06 15:09:59
 * @FilePath: \code\cwp-front\pc-collaboration\src\store\modules\new-button\formatter.js
 * @Description: 把接口返回的按钮列表数据进行处理
 */
/**
 * 新建按钮的格式化，新建只有固定的发送、保存待发等+节点动作的加钱+打印+磁贴
 * @description: 根据按钮对象的属性buttonId、type组合，返回操作
 * @param {Object} btn 按钮对象
 * @return {string}按钮操作
 */

function getHandle(btn) {
    let { flowAction } = btn;
    if (btn.handle==='AddNode'){
        return 'addNode'
    }
    switch (btn.type) {
        //磁贴跳转
        case 'click':
            return 'redirect';
        case 'normal':
            switch (flowAction) {
                case 'AddNode':
                    //新建用的图标与处理不一样
                    btn.image = 'syIcon sy-signature';
                    return btn.handle;
            }
            if (btn.handle==='Print'){
                return 'newDoPrint'
            }
            return btn.handle;
        default:
            return btn.handle;
    }
}
/**
 * @description: 把接口返回的按钮列表数据进行处理
 * @param {Array} list
 * @return {Array} 返回格式化之后的数组
 */
export default (list) => {
    list.forEach((d) => {
        d.handle = getHandle(d);
    });
    return list;
};
